1. The Field of the Invention
The present invention relates to network testing, and more specifically, to accessing results of network diagnostic functions in a distributed system.
2. Background and Relevant Art
Computer and data communications networks continue to proliferate due to declining costs, increasing performance of computer and networking equipment, and increasing demand for communication bandwidth. Communications networks—including wide area networks (“WANs”) and local area networks (“LANs”)—allow increased productivity and utilization of distributed computers or stations through the sharing of resources, the transfer of voice and data, and the processing of voice, data and related information at the most efficient locations. Moreover, as organizations have recognized the economic benefits of using communications networks, network applications such as electronic mail, voice and data transfer, host access, and shared and distributed databases are increasingly used as a means to increase user productivity. This increased demand, together with the growing number of distributed computing resources, has resulted in a rapid expansion of the number of installed networks.
As the demand for networks has grown, network technology has developed to the point that many different physical configurations presently exist. Examples include Gigabit Ethernet (“GE”), 10 GE, Fiber Distributed Data Interface (“FDDI”), Fiber Channel (“FC”), Synchronous Optical Network (“SONET”) and InfiniBand networks. These networks, and others, typically conform to one of a variety of established standards, or protocols, which set forth rules that govern network access as well as communications between and among the network resources. Typically, such networks utilize different cabling systems, have different characteristic bandwidths and typically transmit data at different speeds. Demand for increased network bandwidth, in particular, has been the driving force behind many advancements in the area of high speed communication systems, methods and devices.
However, as communication networks have increased in size, speed, and complexity, they have become increasingly likely to develop a variety of problems that, in practice, are often difficult to diagnose and resolve. Communication network problems are of particular concern in light of the continuing demand for high levels of network operational reliability and for increased network capacity. The problems generally experienced in network communications can take a variety of forms and may occur as a result of a variety of different circumstances.
Examples of circumstances, conditions and events that may give rise to network communication problems include the transmission of unnecessarily small frames of information, inefficient or incorrect routing of information, improper network configuration and superfluous network traffic, to name just a few. These problems are aggravated by the fact that communication networks are continually changing and evolving due to growth, reconfiguration and introduction of new network topologies and protocols. Moreover, new network interconnection devices and software applications are constantly being introduced and implemented. The frequency of change in communication network configurations highlights the need for effective, reliable, and flexible diagnostic mechanisms.
Accordingly, some diagnostic devices and tests can be utilized to assist a network administrator in identifying existing network conditions that are causing a network to deviate from expected performance. Similarly, other diagnostic devices and tests can be utilized to proactively identify network conditions that may cause a network to deviate from expected performance in the future.
One device that is used to identifying network conditions is a protocol analyzer, also called a network analyzer. Generally, a protocol analyzer runs in the background of a network, capturing, examining and logging packet traffic. A protocol analyzer operates by capturing selected portions of data from a data stream that is transmitted via a communications network. The captured information may then be analyzed in greater detail by the protocol analyzer to extract desired information. For example, data transmission faults or errors, or performance errors, known generally as problem conditions, may be diagnosed by examining the captured data that is related to the problem.
Another device that is used to identify network conditions is a generator. Generally, generators generate network traffic to simulate various network conditions. For example, a generator can generate network traffic that simulates a data stream between two nodes on a communications network. The behavior of the two nodes, as well as other nodes of the communication network, can be evaluated to determine how the network responds to the simulated data stream. Thus, a network administrator may be able to identify performance deviations and take appropriate measures to prevent the performance deviations from occurring in the future.
Another device that is used to identify network conditions is a bit error rate tester. Generally, bit error rate testers operate by transmitting a predetermined bit sequence onto the data transmission path, and then analyze the predetermined bit sequence when it returns to the bit error rate tester. Typically, such analyses involve comparing the received bit sequence to a copy of the bit sequence that was initially transmitted onto the data transmission path. Results of this comparison can reveal errors within the bit sequence. After the errors in the bit sequence are counted, that information is used to calculate an overall bit error rate. Depending upon the particular value of the bit error rate, various remedial, or other, actions may then be implemented
Another device that is used to identify network conditions is a jammer. Generally, jammers provide the ability to selectively alter channel data, including the introduction of errors into channel data paths. Thus, jammers facilitate monitoring the response of a communications network to the altered data, and help determine whether the communications network is capable of functioning without experiencing adverse effects in performance such as loss of data or network traffic interruption. For example, a network system designer can use a jammer to perform any one of a number of different diagnostic tests to determine whether a communication network responded appropriately to incomplete, misplaced or missing data or data sequences, how misdirected or confusing frames are treated, and how misplaced ordered sets are treated.
Protocol analyzers, generators, bit error rate testers, jammers, and possibly other devices that test communication networks (hereinafter collectively referred to as “testing modules”) can be implemented on printed circuit boards (often referred to as “cards”) that are inserted into a computer system test chassis. Depending on the desired diagnostic functionality, an administrator can insert a particular type of card into a computer system test chassis. For example, when an administrator desires to test a bit error rate for a network, the administrator can insert a bit error rate tester card into a computer system test chassis. Subsequently, when the administrator desires to analyze network traffic, the administrator can remove the bit error rate test card from the computer system test chassis and insert a network analyzer card into the computer system test chassis.
Some computer system test chassis even include multiple card receptacles such that the computer system test chassis can receive a number of cards. Thus, an administrator may have some flexibility to simultaneously test a network for a variety of network conditions. For example, an administrator may include a generator card and a jammer card in a multi-receptacle test chassis to simultaneously utilize both generator and jammer functionality.
To access the functionality of a testing module, an administrator or tester typically utilizes a test computer system to connect to a test chassis over a network connection (e.g., a Local Area Network). Once connected, the administrator or tester sends commands to the test chassis, which interprets the commands and causes the testing module to execute a network test. As test results of the network test are collected (i.e., essentially in real-time), the test results are transferred over the network connection from the test chassis to the test computer system. Received test results can be stored and/or viewed at the test computer system. Transferring test results to and storing test results at the test computer system allows an administrator or tester to easily review test results, both as the test results are generated and subsequent to test result generation.
However, if an test computer system malfunctions after a network test is initiated, it can be difficult, if not impossible, to access test results. A test chassis may continue to send test results to a network address of the test computer system (over the established connection) even when the test computer system is not operating as intended. Thus, data packets containing test results may eventually time out and be removed from the network. Further, during execution of a network test, a corresponding testing module may be configured not to receive additional commands. Thus, when the test computer system malfunctions, it can be difficult for administrators or testers at other computer systems to stop the network test. In fact, there may be no way to stop the network test without removing power form the test chassis and/or testing module. Unfortunately, removing power from a test chassis can cause other network tests to stop thereby inconveniencing other administrators and/or testers that have initiated these other network tests.
Further, since test results are transferred to the test computer system (over the established connection), there may be no way to view or store the test results at other computer systems. Thus, an administrator or tester that initiates a network test at an office computer system may be required to return the office computer system to access test results. Returning to an office computer system can inconvenience an administrator or tester that must return to the office computer system from another location (e.g., at home) to access test results. Therefore systems, methods, and computer program products for providing more reliable and flexible access to test results would be advantageous.